IBIS Macromodel Task Group Meeting date: 03 November 2015 Members (asterisk for those attending): ANSYS: * Dan Dvorscak * Curtis Clark Avago (LSI) Xingdong Dai * Bob Miller Cadence Design Systems: Ambrish Varma Brad Brim Kumar Keshavan Ken Willis eASIC * David Banas Marc Kowalski Ericsson: Anders Ekholm IBM Steve Parker Intel: Michael Mirmak Keysight Technologies: * Fangyi Rao * Radek Biernacki Maxim Integrated Products: Hassan Rafat Mentor Graphics: John Angulo * Arpad Muranyi Micron Technology: Randy Wolff Justin Butterfield QLogic Corp. James Zhou Andy Joy SiSoft: * Walter Katz * Todd Westerhoff Mike LaBonte Synopsys Rita Horner Teraspeed Consulting Group: Scott McMorrow Teraspeed Labs: * Bob Ross TI: Alfred Chong (Note: Agilent has changed to Keysight) The meeting was led by Arpad Muranyi. ------------------------------------------------------------------------ Opens: - None. -------------------------- Call for patent disclosure: - None. ------------- Review of ARs: - None. ------------------------- Review of Meeting Minutes: - Arpad: Does anyone have any comments or corrections? [none] - Bob R: Motion to approve the minutes. - Arpad: Second. - Arpad: Anyone opposed? [none] ------------- New Discussion: Item #6: New Redriver Flow BIRD. - Discussion: Walter said that he had talked to Vladimir and Fangyi at the EPEPS IBIS Summit. Walter said he understood Fangyi's points, and summarized the issue. When every device has an Init() that returns an impulse, then our statistical flow is okay, though we still need the correction to make sure the final Rx Init() sees the IR characterizing the entire upstream system. If every device has a GetWave(), then our time domain flow is fine. The problem with the redriver flow occurs when each device has an Init() that returns an impulse, and each device except the final Rx has a GetWave(). In that case, the redriver Init() flow is defined, but its input to the final Rx should be the combined IR of the entire system. If you then try the GetWave() flow, the output of the redriver's Tx contains all the upstream effects. But the output of the final Rx's Init() would also contains all the upstream effects, and convolving the two would double count all the upstream effects. Walter stated that he agreed with Fangyi's proposal that an extra IR had to be presented to each downstream Rx. This additional IR would be the IR of the channel that immediately preceded the Rx. This would allow the Rx Init() to return an IR that had the correct equalization applied only to the last channel's IR. Discussions then turned to how this additional information could be passed to the Rx Init(). Arpad suggested that we could do it without modifying the function signature of the AMI_Init() call. There was general agreement that the additional IR could be passed as part of the IR matrix, and an additional Reserved Parameter or some other mechanism could be used to make it clear to the Init() call where the various IRs were located in the matrix. Fangyi then suggested that if we did extend the current IR matrix concept then the same Init() processing could be used for statistical or time domain flows. If the Init() call were to apply the equalization to both the overall IR and the most-recent-channel IR, then the EDA tool could just use the resulting overall IR for the statistical flow, or use the resulting most-recent-channel IR for the time domain flow. Walter suggested that Fangyi might take the redriver flow BIRD Walter had started and update it with his proposals. Fangyi agreed. Item #7: Language corrections regarding "ground". - Discussion: Radek mentioned that in the previous meeting we had discussed the process and logistics for making these changes. Arpad suggested that we start with a top level review of the nine topics presented in Radek's summary email [repeated below verbatim]: 1. Is the global node “0” assumed in any discussion or any diagram? 2. Under what circumstances the global node “0” can be used by the user or the EDA tool? 3. What can be done if any IBIS-ISS subcircuit contains a global node “0”? 4. What nodes is the C_comp capacitance connected to? 5. What is the impact of different [Pulldown Reference] and [GND Clamp Reference] values? 6. What is the relationship between non-zero [Pulldown Reference], [GND Clamp Reference] and the signal I/O reference node in the absence of the [Pin Mapping] keyword? 7. What is the relationship between non-zero [Pulldown Reference], [GND Clamp Reference] and the signal I/O reference node when the [Pin Mapping] keyword is present? 8. What is the relationship between pulldown_ref, and/or the gnd_clamp_ref bus declaration under the [Pin Mapping] keyword and the signal I/O reference node? 9. Do we need to extend the [Pin Mapping] definition to cover signal I/O reference bus declaration? Radek reviewed each of his proposed topics. There were some high level questions and comments, but it was agreed that we would take on each topic in full detail at subsequent meetings. - Arpad: Now is a good stopping point. - Thank you all for joining. AR: Fangyi to update Walter's Redriver Flow BIRD proposal. ------------- Next meeting: 10 November 2015 12:00pm PT ------------- IBIS Interconnect SPICE Wish List: 1) Simulator directives